//Configuracion standar de busquedas
var oConfigs = {
        paginator: new YAHOO.widget.Paginator({
            previousPageLinkLabel : "<",
            nextPageLinkLabel : ">", 
            lastPageLinkLabel : ">>",
            firstPageLinkLabel : "<<",
            rowsPerPage : 10,
            alwaysVisible : false
        }),
		MSG_EMPTY: "No se encontraron datos",
		MSG_LOADING: "Cargando ...",
		MSG_SORTASC: "Click para ordenar ascendentemente",
		MSG_SORTDESC: "Click para ordenar descendentemente"
};


//Combos en cascada Almacen-Area-Ubicacion
function popularAreasConMensaje(mensajePorDefecto){

	var comboAlmacenes = document.getElementById('almacenesPopuladas');
	var comboAreas = document.getElementById('areasPopuladas');
	var comboUbicaciones = document.getElementById('ubicacionesPopuladas');
	
	var codigo = comboAlmacenes.options[comboAlmacenes.selectedIndex].value;

	if (codigo != 0) {	
		popularCombos(mensajePorDefecto, "No hay Areas disponibles", comboAlmacenes, comboAreas, 'areasPorAlmacen', codigo);
	} else {
		limpiarCombo(comboAreas, mensajePorDefecto);
	}
}

function popularAreas() {
	popularAreasConMensaje("-- Todos --");
}

function popularUbicaciones(){
	 popularUbicacionesConMensaje("-- Todos --");
}

function popularUbicacionesConMensaje(mensajePorDefecto){
	var comboAreas = document.getElementById('areasPopuladas');
	var comboUbicaciones = document.getElementById('ubicacionesPopuladas');
	
	var codigo = comboAreas.options[comboAreas.selectedIndex].value;
	
	if (codigo != -1) {
		popularCombos(mensajePorDefecto, "No hay Ubicaciones disponibles",  comboAreas, comboUbicaciones, 'ubicacionesPorArea', codigo);
	} else {
		limpiarCombo(comboUbicaciones, mensajePorDefecto);
	}	
}

function popularCombos(defaultMessage, errorMessage, comboPadre, comboHijo, accion, codigo){
	var callbacks = {
    	    success : function (o) {
    	        var result;

    	        try {
    	        	result = YAHOO.lang.JSON.parse(o.responseText);
    	        	
    	        	if (result.exito) {
   	        			popularCombo(comboHijo, result.items, defaultMessage);
       	        	} 
       	        	else {
       	        		limpiarCombo(comboHijo, defaultMessage);
       	        		popupMensaje('', result.errorMessage, false);
       	        	}
    	        }
    	        catch (x) {
    	            alert("Error procesando la consulta de combos");
    	            return;
    	        }
       	    }
    	};

	YAHOO.util.Connect.asyncRequest('GET',"espacionsJson.do?accion=" + accion + "&codigo=" + codigo, callbacks);	
}

function popularCombo(combo, opciones, defaultMessage){
	limpiarCombo(combo, defaultMessage);
	
	for(var index = 0; index < opciones.length; index ++) {
		combo.options[index + 1] = new Option(opciones[index].descripcion, opciones[index].codigo);
	}	
	
	combo.selectedIndex = 0;
}

function limpiarCombo(combo, defaultOption) {
	for(var index = combo.options.length; index > -1; index--) {
		combo.remove(index);
	}
	
	combo.options[0] = new Option(defaultOption, 0);
}

//Funcion que despliega un popUp.
function popupMensaje(header, mensaje, volver) {

	var handleAceptar = function() {
		popup.hide();
		if (volver) {
			document.location.assign('home.html');
		}
	};
	
	var popup = new YAHOO.widget.SimpleDialog("popUpModal", {		
		modal: true,
		icon: YAHOO.widget.SimpleDialog.ICON_INFO,
		visible: true,
		fixedcenter: true,
		constraintoviewport: true,
		width: "300px",
		role: "alertdialog",
		buttons: [ { text:"Aceptar", handler:handleAceptar, isDefault:true } ],
		text: mensaje	
	});	

	popup.setHeader(header);
	popup.render(document.body);
}